// pages/community/community.js

// 使用云数据库
const db = wx.cloud.database();

// 引入获取当前时间类
const util = require('util.js');

let app =getApp()

Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 导航栏选中标志(值为导航栏数据项的序号)
        flag: 1,

        // 显示tab栏标志(取值'new_tab'和'hot_tab')
        state: 'new_tab',

        // 首次进入标志
        first: true,

        scrollTop:0,

        good_list:[],
        begood_list:[],

        // 临时最新模块列表
        temp_newList:[],

        // 最新模块列表
        newList:[],

        // 热门模块导航栏
        hotmoduleTab:[
            {id:1,value:'书法'},
            {id:2,value:'国画'},
            {id:3,value:'广场舞'},
            {id:4,value:'彩陶'},
            {id:5,value:'古筝'},
            {id:6,value:'武术'},
            {id:7,value:'剪纸'},
        ],

        // 临时热门模块数据
        temp_hotList:[],

        // 热门模块详细数据
        hotList:[],

        createTime:db.serverDate(),
            refresh:false,
            disp:'none',
            triggered: false,	
            success:false		
    },

    // 实现最新页面下拉刷新功能函数
    async onRefresh() {
        let that = this
        // if(that.data.scrollTop < 0){
            await this.setData({
                triggered: true,//下拉triggered不会自动变为true，需要强制设置一下，不然下面复位无效
              })
              let promise = new Promise((reslove,reject)=>{
                  this.loadnewData()
                  reslove()
              })
              promise.then(res=>{
                  setTimeout(function () {
                      that.setData({
                          triggered: false,
                          success:true
                      })
                  },1500)
                  setTimeout(function () {
                    that.setData({
                        success:false
                    })
                },3500)    
              })
        // }
        
    },

    //监听页面滚动
    onPageScroll:function(e){
        // console.log(e);
        this.setData({
            scrollTop: e.scrollTop
        })
    },

    // 加载最新模块
    showNew:function(){
        this.setData({
                state: 'new_tab',
                flag:1, 
                currentTab:0
        })
    },

    //  加载热门模块
    showHot:function(){
        this.setData({
            state: 'hot_tab',
            flag:1,
            currentTab:1
        })
        if(this.data.first == true){
            this.loadhotData()
            this.setData({
                first:false
            })
        }
        
    },

    // 热门模块顶部导航栏
    switchNav: function(e) {
        // console.log(e)
        let that = this;
        // 获取当前点击项的id
        let id = e.target.id;
        // 判断存储的点击项和当前的点击项是否一致
        if (that.data.flag == id) {
            return;
        }
        // 如果不一致,进行更新
        else {
            that.setData({
                flag: id,
            });
        }
    },
    
    // 加载最新列表数据
    loadnewData:function(){
        let that = this
        //     db.collection('user-publish').count().then(async res =>{
        //         let total = res.total;
        //         // console.log(total)
        //         // 计算需分几次取
        //         const batchTimes = Math.ceil(total / 1)
        //         // 承载所有读操作的 promise 的数组
        //         for (let i = batchTimes-1; i >= 0; i--) {
        //             // let promise = new Promise((reslove,reject)=>{
        //                 await db.collection('user-publish').skip(i * 1).limit(1).get().then(async res => {
        //                 console.log(res.data)
        //                 let new_data = res.data
        //                 let old_data = that.data.temp_newList
        //                 that.setData({
        //                     temp_newList:old_data.concat(new_data)
        //                 })
        //                 // reslove();
        //             })
        //         // })
        //         // promise.then(res=>{
        //             // 对获得的数据进行逆序排列
        //             that.setData({
        //                 // newList:that.data.temp_newList.reverse()
        //                 newList:that.data.temp_newList
        //             })
        //         // })
        //     }
        //     // 清空临时数组
        //     that.setData({
        //             temp_newList:[]
        //         })
        // })
        let promise = new Promise((reslove,reject)=>{
            db.collection('user-publish').orderBy('Publish_date','desc').get().then(async res =>{
                // console.log(res.data)
                that.setData({
                    temp_newList:res.data
                })
                reslove()
            })
        })
        promise.then(res=>{
            // console.log('dada')
            console.log(that.data.temp_newList)
            for(let i = 0;i<that.data.temp_newList.length;i++){
                for(let j = 0;j<that.data.temp_newList[i].length;j++){
                    // for(let j = 0)
                    // console.log('dada')
                    console.log(that.data.temp_newList[i][j])
                    // wx.cloud.downloadFile({
                    //     fileID:that.data.temp_newList[i].picture_List[j],
                    //     success:res=>{
                    //         console.log("路径",res.tempFilePath)
                    //     }
                    // })
                    // let stamp = that.data.temp_newList[i][j].Publish_timestamp
                    // let time = util.getDateDiff(new Date(stamp));
                    // console.log(time)
                    // let temp = 'temp_newList[i][j].Publish_timestamp'
                    // that.setData({
                    //     [temp]:time
                    // })
                }
               
            }
            
            that.setData({
                // newList:that.data.temp_newList.reverse()
                newList:that.data.temp_newList
            })
        })
        return true
    },

    // 加载热门列表数据
    loadhotData:function(){
        wx.showLoading({
            title: '数据加载中...',
            mask:true
        })
        let that = this
        let promise = new Promise((reslove,reject)=>{
            db.collection('amusementVideo').count().then(async res =>{
                let total = res.total;
                // console.log(total)
                // 计算需分几次取
                const batchTimes = Math.ceil(total / 5)
                 // 清空临时数组
            that.setData({
                temp_hotList:[]
            })
                // 承载所有读操作的 promise 的数组
                for (let i = 0; i < batchTimes; i++) {
                    await db.collection('amusementVideo').skip(i * 5).limit(5).get().then(async res => {
                        // console.log(res.data)
                        let new_data = res.data
                        let old_data = that.data.temp_hotList
                        that.setData({
                            temp_hotList:old_data.concat(new_data)
                        })
                    })
                }
                reslove();
            })
        })
        promise.then(res=>{
            let temp_hotList = that.data.temp_hotList
            let hotmoduleTab = that.data.hotmoduleTab
            // 初始化数组长度(根据Tab长度而定)
            let outArr=[]
            for(var i=0;i<hotmoduleTab.length;i++){
                outArr.push([]);
            }
            // 将数据库的temp_hotList数据进行分类存储
            for (let i = 0; i < temp_hotList.length; i++) {
                let temp_flag = temp_hotList[i].type
                for (let j = 0; j < hotmoduleTab.length; j++) {
                    if(temp_flag === hotmoduleTab[j].value){
                        outArr[j].push(temp_hotList[i])
                        break
                    }   
                }
            }
            
            wx.hideLoading({
                success: (res) => {
                    // 保存分完类的列表到hotList
                    that.setData({
                        hotList:outArr
                    })
                },
            })
        })
           
        // })
        // let promise = new Promise((reslove,reject)=>{
        //     db.collection('amusementVideo').get({
        //         success(res){
        //             // console.log(res.data)
        //             that.setData({
        //                 temp_hotList:res.data,
        //             })
        //             reslove();
        //         }
        //     })
        // })
        // promise.then(res=>{
        //     let temp_hotList = that.data.temp_hotList
        //     let hotmoduleTab = that.data.hotmoduleTab
        //     // 初始化数组长度(根据Tab长度而定)
        //     let outArr=[]
        //     for(var i=0;i<hotmoduleTab.length;i++){
        //         outArr.push([]);
        //     }
        //     // 将数据库的temp_hotList数据进行分类存储
        //     for (let i = 0; i < temp_hotList.length; i++) {
        //         let temp_flag = temp_hotList[i].type
        //         for (let j = 0; j < hotmoduleTab.length; j++) {
        //             if(temp_flag === hotmoduleTab[j].value){
        //                 outArr[j].push(temp_hotList[i])
        //                 break
        //             }   
        //         }
        //     }
        //     // 保存分完类的列表到hotList
        //     that.setData({
        //         hotList:outArr
        //     })
        // })
    },

    // 跳转到最新内容详情页
    jumpnewDetail:function(e){
        console.log(e)
        let data_id = e.currentTarget.dataset.id;
        // console.log(data_id);
        // 将内容id作为参数传到文章详情页
        wx.navigateTo({
          url: '/pages/newarticleDetail/newarticleDetail?id='+data_id,
        })
      },
      // 跳转到热门内容详情页
    jumphotDetail:function(e){
        // console.log(e)
        let data_id = e.currentTarget.dataset.id;
        // console.log(data_id);
        // 将内容id作为参数传到文章详情页
        wx.navigateTo({
          url: '/pages/hotarticleDetail/hotarticleDetail?id='+data_id,
        })
      },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        this.loadnewData()
        // console.log(options)
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function (options) {
        if(app.globalData.state === 'hot_tab'){
            this.showHot()
            // this.loadhotData()
            app.globalData.state = 'null'
        }

        
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
        // this.loadData()
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        // this.loadData()
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})